package ru.chaykin.additionalinfo;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.List;

import ru.chaykin.OpenGLSceneView;
import ru.chaykin.R;
import ru.chaykin.load.parse.MIFParser;
import ru.chaykin.viewobject.ViewObject;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceScreen;
import android.view.Window;
import android.view.WindowManager;
import android.widget.GridView;
import android.widget.Toast;

/**
 * Активность отображает дополнительную семантическую информацию. Стиль отображения такой же как у окна настроек
 * @author k.chaykin
 */
public class AdditionalInfoActivity extends PreferenceActivity {
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setPreferenceScreen(createPreferenceHierarchy());
	}
	
	private PreferenceScreen createPreferenceHierarchy() {
        // создаём корневой элемент для параметров - страницу preferences
        PreferenceScreen root = getPreferenceManager().createPreferenceScreen(this);
 
        try {
			String[] midData = ViewObject.getMIDInfo(OpenGLSceneView.getSelectedObjectId());
			List<String> columns = MIFParser.getColumnNames();
			for (int i = 0; i < columns.size(); i++) {
				Preference preference = new Preference(this);
				preference.setTitle(columns.get(i));
				preference.setSummary(midData[i]);
				preference.setSelectable(false);
				root.addPreference(preference);
			}
		} catch (UnsupportedEncodingException e) {
			//TODO строку в ресурсы
			Toast.makeText(getApplicationContext(), "Ошибка преобразования файла", Toast.LENGTH_LONG).show();
			finish();
		} catch (FileNotFoundException e) {
			//TODO строку в ресурсы
			Toast.makeText(getApplicationContext(), "Файл не найден", Toast.LENGTH_LONG).show();
			finish();
		} catch (IOException e) {
			//TODO строку в ресурсы
			Toast.makeText(getApplicationContext(), "Ошибка ввода-вывода", Toast.LENGTH_LONG).show();
			finish();
		} catch (Exception e) {
			//TODO строку в ресурсы
			Toast.makeText(getApplicationContext(), "Неизвестная ошибка", Toast.LENGTH_LONG).show();
			finish();
		}
 
        // возвращаем ссылку на созданную страницу
    	return root;
    }
}
